(function ($){
'use strict';
jQuery.each(gallery_video_resp_lightbox_obj, function (index, value){
if(value.indexOf('true') > -1||value.indexOf('false') > -1)
gallery_video_resp_lightbox_obj[index]=value=="true";
});
function Lightbox(element, options){
this.el=element;
this.$element=$(element);
this.$body=$('body');
this.objects={};
this.lightboxModul={};
this.$item='';
this.$cont='';
this.$items=this.$body.find('a.vg_responsive_lightbox');
this.settings=$.extend({}, this.constructor.defaults, options);
this.init();
return this;
}
Lightbox.defaults={
idPrefix: 'rwd-',
classPrefix: 'rwd-',
attrPrefix: 'data-',
slideAnimationType: gallery_video_resp_lightbox_obj.gallery_video_lightbox_slideAnimationType,
lightboxView: gallery_video_resp_lightbox_obj.gallery_video_lightbox_lightboxView,
speed: gallery_video_resp_lightbox_obj.gallery_video_lightbox_speed_new,
width: gallery_video_resp_lightbox_obj.gallery_video_lightbox_width_new + '%',
height: gallery_video_resp_lightbox_obj.gallery_video_lightbox_height_new + '%',
videoMaxWidth: gallery_video_resp_lightbox_obj.gallery_video_lightbox_videoMaxWidth,
sizeFix: true,
overlayDuration: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_overlayDuration,
slideAnimation: true,
overlayClose: gallery_video_resp_lightbox_obj.gallery_video_lightbox_overlayClose_new,
loop: gallery_video_resp_lightbox_obj.gallery_video_lightbox_loop_new,
escKey: false,
keyPress: false,
arrows: true,
mouseWheel: false,
showCounter: false,
defaultTitle: '',
preload: 10,
showAfterLoad: true,
nextHtml: '',
prevHtml: '',
sequence_info: gallery_video_resp_lightbox_obj.gallery_video_lightbox_sequence_info,
sequenceInfo: gallery_video_resp_lightbox_obj.gallery_video_lightbox_sequenceInfo,
slideshow: gallery_video_resp_lightbox_obj.gallery_video_lightbox_slideshow_new,
slideshowAuto: gallery_video_resp_lightbox_obj.gallery_video_lightbox_slideshow_auto_new,
slideshowSpeed: gallery_video_resp_lightbox_obj.gallery_video_lightbox_slideshow_speed_new,
slideshowStart: '',
slideshowStop: '',
hideControlOnEnd: false,
watermark: gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark,
socialSharing: gallery_video_resp_lightbox_obj.gallery_video_lightbox_socialSharing,
titlePos: gallery_video_resp_lightbox_obj.gallery_video_lightbox_title_pos,
fullwidth: gallery_video_resp_lightbox_obj.gallery_video_lightbox_fullwidth_effect,
zoomLogo: gallery_video_resp_lightbox_obj.gallery_video_lightbox_zoomlogo,
wURL: gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_link,
watermarkURL: gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_url,
wURLnewTab: gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_url_new_tab,
share: false
};
Lightbox.prototype.init=function (){
var $object=this,
$hash;
$hash=window.location.hash;
($object.settings.watermark&&$('.watermark').watermark());
if($hash.indexOf('lightbox&') > 0){
$object.index=parseInt($hash.split('&slide=')[1], 10) - 1;
$object.$body.addClass('rwd-share');
if(!$object.$body.hasClass('rwd-on')){
setTimeout(function (){
$object.build($object.index);
}, 900);
$object.$body.addClass('rwd-on');
}}
(($object.settings.preload > $object.$items.length)&&($object.settings.preload=$object.$items.length));
$object.$items.on('click.rwdcustom', function (event){
event=event||window.event;
event.preventDefault ? event.preventDefault():(event.returnValue=false);
$object.index=$object.$items.index(this);
if(!$object.$body.hasClass($object.settings.classPrefix + 'on')){
$object.build($object.index);
$object.$body.addClass($object.settings.classPrefix + 'on');
}});
$object.$body.on('click', function (){
$object.$_y_=window.pageYOffset;
});
switch (this.settings.zoomLogo){
case '1':
$object.$body.addClass('rwd-zoomGlass');
break;
case '2':
$object.$body.addClass('rwd-zoomHand');
break;
}};
Lightbox.prototype.build=function (index){
var $object=this;
$object.structure();
$object.lightboxModul['modul']=new $.fn.lightboxVideo.lightboxModul['modul']($object.el);
$object.slide(index, false, false);
($object.settings.keyPress&&$object.addKeyEvents());
if($object.$items.length > 1){
$object.arrow();
($object.settings.mouseWheel&&$object.mousewheel());
($object.settings.slideshow&&$object.slideShow());
}
$object.counter();
$object.closeGallery();
$object.$cont.on('click.rwd-container', function (){
$object.$cont.removeClass($object.settings.classPrefix + 'hide-items');
});
$object.calculateDimensions();
};
Lightbox.prototype.structure=function (){
var $object=this, list='', controls='', i,
subHtmlCont1='', subHtmlCont2='', subHtmlCont3='',
close1='', close2='', socialIcons='',
template, $arrows, $next, $prev,
$_next, $_prev, $close_bg, $download_bg, $download_bg_, $contInner, $view;
$view=(this.settings.lightboxView==='view6') ? 'rwd-view6':'';
this.$body.append(this.objects.overlay=$('
')
);
this.objects.overlay.css('transition-duration', this.settings.overlayDuration + 'ms');
var $wURL='',
$target='';
if($object.settings.watermark&&$object.settings.wURL&&gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_text){
if($object.settings.wURLnewTab){
$target='target="_blank"';
}
$wURL=' ';
}
for (i=0; i < this.$items.length; i++){
list +='' + $wURL + '
';
}
$close_bg='' +
' ' +
' ';
switch (this.settings.lightboxView){
case 'view1':
default:
$_next='' +
' ' +
' ';
$_prev='' +
' ' +
' ';
subHtmlCont1='
';
close1='' + $close_bg + ' ';
break;
case 'view2':
$_next='' +
' ' +
' ';
$_prev='' +
' ' +
' ';
subHtmlCont2='
';
close2='
' + $close_bg + ' ';
break;
case 'view3':
$_next='' +
' ' +
' ' +
' ';
$_prev='' +
' ' +
' ' +
' ';
subHtmlCont1='
';
close1='' + $close_bg + ' ';
break;
case 'view4':
$_next='' +
' ' +
' ';
$_prev='' +
' ' +
' ';
$close_bg='' +
' ' +
' ';
subHtmlCont2='
';
close1='' + $close_bg + ' ';
break;
case 'view5':
case 'view6':
$_next='' +
' ' +
' ';
$_prev='' +
' ' +
' ';
$close_bg='' +
' ' +
' ';
subHtmlCont3 +='
';
subHtmlCont3 +='
';
close1='' + $close_bg + ' ';
break;
}
if(this.settings.arrows&&this.$items.length > 1){
controls='' +
'
' + $_prev + this.settings.prevHtml + '
' +
'
' + $_next + this.settings.nextHtml + '
' +
'
';
}
if(this.settings.socialSharing&&(this.settings.lightboxView!=='view5'||this.settings.lightboxView!=='view6')){
socialIcons='share
';
}
$contInner=(this.settings.lightboxView==='view5'||this.settings.lightboxView==='view6') ? '' + subHtmlCont3 + '
':'';
var $zoomDiv=gallery_video_resp_lightbox_obj.gallery_video_lightbox_zoom ? '
':'';
var arrowHE=(this.settings.lightboxView!=='view2'&&this.settings.lightboxView!=='view3') ? this.settings.arrowsHoverEffect:'';
template='' +
$zoomDiv +
'
' +
'
' + list + '
' +
$contInner +
'
' +
close1 + subHtmlCont2 +
'
' +
controls +
'
' +
close2 + subHtmlCont1 + '
' +
'
' +
'
';
if($object.settings.socialSharing){
setTimeout(function (){
$object.socialShare();
}, 50);
}
this.$body.append(template);
this.$cont=$('.' + $object.settings.classPrefix + 'cont');
this.$item=this.$cont.find('.' + $object.settings.classPrefix + 'item');
if(!this.settings.slideAnimation){
this.$cont.addClass(this.settings.classPrefix + 'animation');
this.settings.slideAnimationType=this.settings.classPrefix + 'slide';
}else{
this.$cont.addClass(this.settings.classPrefix + 'use');
}
$object.calculateDimensions();
$(window).on('resize.rwd-container', function (){
setTimeout(function (){
$object.calculateDimensions();
}, 100);
});
this.$item.eq(this.index).addClass(this.settings.classPrefix + 'current');
if(this.effectsSupport()){
this.$cont.addClass(this.settings.classPrefix + 'support');
}else{
this.$cont.addClass(this.settings.classPrefix + 'noSupport');
this.settings.speed=0;
}
this.$cont.addClass(this.settings.slideAnimationType);
((this.settings.showAfterLoad)&&(this.$cont.addClass(this.settings.classPrefix + 'show-after-load')));
if(this.effectsSupport()){
var $inner=this.$cont.find('.cont-inner');
$inner.css('transition-timing-function', 'ease');
$inner.css('transition-duration', this.settings.speed + 'ms');
}
switch ($object.settings.lightboxView){
case 'view1':
case 'view2':
case 'view3':
$inner.css({
height: 'calc(100% - 92px)',
top: '47px'
});
break;
case 'view4':
$inner.css({
height: 'calc(100% - 92px)',
top: '45px'
});
break;
}
$object.objects.overlay.addClass('in');
setTimeout(function (){
$object.$cont.addClass($object.settings.classPrefix + 'visible');
}, this.settings.overlayDuration);
if(this.settings.download){
$download_bg='' +
' ' +
' ';
$download_bg_='' +
' ' +
' ' +
' ';
switch (this.settings.lightboxView){
case 'view1':
default:
this.$cont.find('.' + $object.settings.classPrefix + 'toolbar').append('' + $download_bg + ' ');
break;
case 'view2':
this.$cont.find('.' + $object.settings.classPrefix + 'bar').append('' + $download_bg + ' ');
break;
case 'view4':
$('' + $download_bg + ' ').insertBefore($('.rwd-title'));
break;
case 'view5':
case 'view6':
$('.rwd-toolbar').append('' + $download_bg_ + ' ');
break;
}}
$arrows=$('.rwd-arrows .rwd-next, .rwd-arrows .rwd-prev');
$next=$('.rwd-arrows .rwd-next');
$prev=$('.rwd-arrows .rwd-prev');
var title_text=$('.rwd-title');
switch (this.settings.titlePos){
case 'left':
title_text.css({'text-align': 'left'});
break;
case 'center':
title_text.css({'text-align': 'center'});
break;
case 'right':
title_text.css({'text-align': 'right'});
break;
}
switch (this.settings.lightboxView){
case 'view1':
default:
$arrows.css({'top': '50%'});
$next.css({'right': '20px'});
$prev.css({'left': '20px'});
break;
case 'view2':
$arrows.css({'bottom': '0'});
$next.css({'right': '40%'});
$prev.css({'left': '40%'});
break;
case 'view3':
$arrows.css({'top': '14px', 'z-index': '1090000'});
$next.css({'right': '20px'});
$prev.css({'right': '55px'});
title_text.css({'text-align': 'left', 'border-top': '1px solid #999'});
$('.rwd-close').css({'margin-right': '45%'});
$('.rwd-overlay, .rwd-toolbar, .rwd-title, .rwd-next, .rwd-prev').css({'background': 'rgba(255, 255, 255, 1)'});
$('.rwd-title, .shareLook').css({'color': '#999'});
$('.rwd-toolbar').css({'border-bottom': '1px solid #999'});
$('.rwd-toolbar .rwd-icon, .rwd-arrows .rwd-icon').addClass('rwd-icon0');
break;
}
this.prevScrollTop=$(window).scrollTop();
$object.objects.content=$('.rwd-container');
$object.objects.content.css({
'width': $object.settings.width,
'height': $object.settings.height
});
var $color, $zoomTop=(document.documentElement.clientHeight - $object.objects.content.height()) / 2;
switch (this.settings.lightboxView){
case 'view3':
$color='rgba(255,255,255,.9)';
break;
default:
$color='rgba(0,0,0,.9)';
break;
}
$('.rwd-zoomDiv').css({
'width': $object.settings.width,
'top': $zoomTop + 'px',
'background-color': $color
});
setTimeout(function (){
$('.rwd-container').bind('contextmenu', function (){
return false;
});
}, 50);
};
Lightbox.prototype.calculateDimensions=function (){
var $object=this, $width;
$width=$('.' + $object.settings.classPrefix + 'current').height() * 16 / 9;
if($width > $object.settings.videoMaxWidth){
$width=$object.settings.videoMaxWidth;
}
$('.' + $object.settings.classPrefix + 'video-cont ').css({
'max-width': $width + 'px'
});
};
Lightbox.prototype.effectsSupport=function (){
var transition, root, support;
support=function (){
transition=['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];
root=document.documentElement;
for (var i=0; i < transition.length; i++){
if(transition[i] in root.style){
return transition[i] in root.style;
}}
};
return support();
};
Lightbox.prototype.isVideo=function (src, index){
var youtube, vimeo;
youtube=src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i);
vimeo=src.match(/\/\/?player.vimeo.com\/([0-9a-z\-_]+)/i);
if(youtube){
return {
youtube: youtube
};}else if(vimeo){
return {
vimeo: vimeo
};}};
Lightbox.prototype.counter=function (){
if(this.settings.showCounter){
switch (this.settings.lightboxView){
case 'view1':
default:
$('.' + this.settings.classPrefix + 'toolbar').append(this.objects.counter=$('
'));
$('#rwd-counter').css({'padding-left': '23px'});
break;
case 'view2':
case 'view4':
$('.' + this.settings.classPrefix + 'bar').append('
').append(this.objects.counter=$('
'));
break;
case 'view5':
case 'view6':
$('.contInner').append(this.objects.counter=$('
'));
break;
}
if(this.settings.sequence_info==="image"){
this.settings.sequence_info="video";
}
this.objects.counter.append(this.objects.current=$('' + this.settings.sequence_info + ' ' + (parseInt(this.index, 10) + 1) + ' ' +
this.settings.sequenceInfo + ' ' + this.$items.length + '
')
);
}};
Lightbox.prototype.setTitle=function (index){
var $object=this, $title, $currentElement;
$currentElement=this.$items.eq(index);
$title=$currentElement.find('img').attr('alt') ||
$currentElement.find('img').attr('title') ||
$currentElement.find('a').attr('title') ||
this.settings.defaultTitle ||
$currentElement.next('img').attr('alt')||'';
this.$cont.find('.' + this.settings.classPrefix + 'title').html('' + $title + '
');
(($object.settings.lightboxView==='view2')&&$('.rwd-title-text').css({'width': '100%'}));
if($object.settings.lightboxView!=='view1'&&$object.settings.lightboxView!=='view3'&&$object.settings.lightboxView!=='view4'){
($title===''&&$object.settings.socialSharing) ?
this.$cont.find('.' + this.settings.classPrefix + 'title').hide() :
this.$cont.find('.' + this.settings.classPrefix + 'title').show();
}};
Lightbox.prototype.setDescription=function (index){
var $object=this, $description, $currentElement;
$currentElement=this.$items.eq(index);
$description=$currentElement.attr('data-description')||'';
this.$cont.find('.' + this.settings.classPrefix + 'description').html('' + $description + '
');
};
Lightbox.prototype.preload=function (index){
for (var i=1; i <=this.settings.preload; i++){
if(i >=this.$items.length - index){
break;
}
this.loadContent(index + i, false, 0);
}
for (var j=1; j <=this.settings.preload; j++){
if(index - j < 0){
break;
}
this.loadContent(index - j, false, 0);
}};
Lightbox.prototype.socialShare=function (){
var $object=this;
var shareButtons='';
if(this.settings.lightboxView==='view5'||this.settings.lightboxView==='view6'){
$('.contInner').append(shareButtons);
}else{
$('.' + this.settings.classPrefix + 'socialIcons').append(shareButtons);
}
setTimeout(function (){
$('#rwd-share-facebook').attr('href', 'https://www.facebook.com/sharer/sharer.php?u=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-twitter').attr('href', 'https://twitter.com/intent/tweet?text=&url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-googleplus').attr('href', 'https://plus.google.com/share?url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-pinterest').attr('href', 'http://www.pinterest.com/pin/create/button/?url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-linkedin').attr('href', 'http://www.linkedin.com/shareArticle?mini=true&url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-tumblr').attr('href', 'http://www.tumblr.com/share/link?url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-reddit').attr('href', 'http://reddit.com/submit?url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-buffer').attr('href', 'https://bufferapp.com/add?url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-digg').attr('href', 'http://www.digg.com/submit?url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-vk').attr('href', 'http://vkontakte.ru/share.php?url=' + (encodeURIComponent(window.location.href)));
$('#rwd-share-yummly').attr('href', 'http://www.yummly.com/urb/verify?url=' + (encodeURIComponent(window.location.href)));
}, 200);
};
Lightbox.prototype.changeHash=function (index){
var $object=this;
(($object.settings.socialSharing)&&(window.location.hash='/lightbox&slide=' + (index + 1)));
};
Lightbox.prototype.loadContent=function (index, rec, delay){
var $object, src, isVideo;
$object=this;
function isImg(){
src=$object.$items.eq(index).attr('href');
return src.match(/\.(jpg|png|gif)\b/);
}
if($object.settings.watermark){
if(isImg()){
src=$object.$items.eq(index).find('img').attr('data-src');
}}else{
src=$object.$items.eq(index).attr('href');
}
isVideo=$object.isVideo(src, index);
if(!$object.$item.eq(index).hasClass($object.settings.classPrefix + 'loaded')){
if(isVideo){
$object.$item.eq(index).prepend('');
$object.$element.trigger('hasVideo.rwd-container', [index, src]);
}else{
$object.$item.eq(index).prepend('');
}
$object.$element.trigger('onAferAppendSlide.rwd-container', [index]);
$object.$item.eq(index).addClass($object.settings.classPrefix + 'loaded');
}
$object.$item.eq(index).find('.' + $object.settings.classPrefix + 'object').on('load.rwd-container error.rwd-container', function (){
var speed=0;
if(delay){
speed=delay;
}
setTimeout(function (){
$object.$item.eq(index).addClass($object.settings.classPrefix + 'complete');
}, speed);
});
if(rec===true){
if(!$object.$item.eq(index).hasClass($object.settings.classPrefix + 'complete')){
$object.$item.eq(index).find('.' + $object.settings.classPrefix + 'object').on('load.rwd-container error.rwd-container', function (){
$object.preload(index);
});
}else{
$object.preload(index);
}}
};
Lightbox.prototype.slide=function (index, fromSlide, fromThumb){
var $object, prevIndex;
$object=this;
prevIndex=this.$cont.find('.' + $object.settings.classPrefix + 'current').index();
var length=this.$item.length,
time=0,
next=false,
prev=false;
if(this.settings.download){
var src;
if(!this.settings.watermark){
src=$object.$items.eq(index).attr('data-download-url')!=='false'&&($object.$items.eq(index).attr('data-download-url')||$object.$items.eq(index).attr('href'));
}else{
src=$object.$items.eq(index).find('img').attr('data-src');
}
if(src){
$('#' + $object.settings.classPrefix + 'download').attr('href', src);
$object.$cont.removeClass($object.settings.classPrefix + 'hide-download');
$object.$cont.removeClass($object.settings.classPrefix + 'hide-actual-size');
$object.$cont.removeClass($object.settings.classPrefix + 'hide-fullwidth');
$object.$cont.removeClass($object.settings.classPrefix + 'hide-zoom-in');
$object.$cont.removeClass($object.settings.classPrefix + 'hide-zoom-out');
}else{
$object.$cont.addClass($object.settings.classPrefix + 'hide-download');
$object.$cont.addClass($object.settings.classPrefix + 'hide-actual-size');
$object.$cont.addClass($object.settings.classPrefix + 'hide-fullwidth');
$object.$cont.addClass($object.settings.classPrefix + 'hide-zoom-in');
$object.$cont.addClass($object.settings.classPrefix + 'hide-zoom-out');
}}
this.$element.trigger('onBeforeSlide.rwd-container', [prevIndex, index, fromSlide, fromThumb]);
setTimeout(function (){
$object.setTitle(index);
}, time);
if($object.settings.lightboxView==='view5'||$object.settings.lightboxView==='view6'){
setTimeout(function (){
$object.setDescription(index);
}, time);
}
this.arrowDisable(index);
$object.$cont.addClass($object.settings.classPrefix + 'no-trans');
this.$item.removeClass($object.settings.classPrefix + 'prev-slide ' + $object.settings.classPrefix + 'next-slide');
if(!fromSlide){
if(index < prevIndex){
prev=true;
if((index===0)&&(prevIndex===length - 1)&&!fromThumb){
prev=false;
next=true;
}}else if(index > prevIndex){
next=true;
if((index===length - 1)&&(prevIndex===0)&&!fromThumb){
prev=true;
next=false;
}}
if(prev){
this.$item.eq(index).addClass($object.settings.classPrefix + 'prev-slide');
this.$item.eq(prevIndex).addClass($object.settings.classPrefix + 'next-slide');
}else if(next){
this.$item.eq(index).addClass($object.settings.classPrefix + 'next-slide');
this.$item.eq(prevIndex).addClass($object.settings.classPrefix + 'prev-slide');
}
setTimeout(function (){
$object.$item.removeClass($object.settings.classPrefix + 'current');
$object.$item.eq(index).addClass($object.settings.classPrefix + 'current');
$object.$cont.removeClass($object.settings.classPrefix + 'no-trans');
}, 50);
}else{
var slidePrev=index - 1;
var slideNext=index + 1;
if((index===0)&&(prevIndex===length - 1)){
slideNext=0;
slidePrev=length - 1;
}else if((index===length - 1)&&(prevIndex===0)){
slideNext=0;
slidePrev=length - 1;
}
this.$item.removeClass($object.settings.classPrefix + 'prev-slide ' + $object.settings.classPrefix + 'current ' + $object.settings.classPrefix + 'next-slide');
$object.$item.eq(slidePrev).addClass($object.settings.classPrefix + 'prev-slide');
$object.$item.eq(slideNext).addClass($object.settings.classPrefix + 'next-slide');
$object.$item.eq(index).addClass($object.settings.classPrefix + 'current');
}
$object.loadContent(index, true, $object.settings.overlayDuration);
$object.$element.trigger('onAfterSlide.rwd-container', [prevIndex, index, fromSlide, fromThumb]);
if(this.settings.showCounter){
$('#' + $object.settings.classPrefix + 'counter-current').text(index + 1);
}
if(this.settings.socialSharing){
$object.changeHash(index);
}
var $top, $left, $wWidth, $wHeight, $imgWidth, $imgHeight, $wmWidth, $wmHeight, $pos, $item;
$item=$('.rwd-item.rwd-current');
$pos=+gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_margin;
$wWidth=+gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_containerWidth;
$wHeight=+gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_textFontSize;
$imgWidth=$object.$item.eq(index).find('img').width();
$imgHeight=$object.$item.eq(index).find('img').height();
$wmWidth=$item.width();
$wmHeight=$item.height();
switch ('pos' + gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_position_new){
case 'pos1':
$top=($wmHeight - $imgHeight) / 2 + $pos;
$left=($wmWidth - $imgWidth) / 2 + $pos;
break;
case 'pos2':
$top=($wmHeight - $imgHeight) / 2 + $pos;
$left=($wmWidth - $wWidth) / 2;
break;
case 'pos3':
$top=($wmHeight - $imgHeight) / 2 + $pos;
$left=($wmWidth + $imgWidth) / 2 - $wWidth - $pos;
break;
case 'pos4':
$top=($wmHeight - $wHeight) / 2;
$left=($wmWidth - $imgWidth) / 2 + $pos;
break;
case 'pos5':
$top=($wmHeight - $wHeight) / 2;
$left=($wmWidth - $wWidth) / 2;
break;
case 'pos6':
$top=($wmHeight - $wHeight) / 2;
$left=($wmWidth + $imgWidth) / 2 - $wWidth - $pos;
break;
case 'pos7':
$top=($wmHeight + $imgHeight) / 2 - $wHeight - $pos;
$left=($wmWidth - $imgWidth) / 2 + $pos;
break;
case 'pos8':
$top=($wmHeight + $imgHeight) / 2 - $wHeight - $pos;
$left=($wmWidth - $wWidth) / 2;
break;
case 'pos9':
$top=($wmHeight + $imgHeight) / 2 - $wHeight - $pos;
$left=($wmWidth + $imgWidth) / 2 - $wWidth - $pos;
break;
default:
$top=($wmHeight - $wHeight) / 2;
$left=($wmWidth - $wWidth) / 2;
}
$('.w_url').css({
position: 'absolute',
width: $wWidth + 'px',
height: $wHeight + 'px',
top: $top + 'px',
left: $left + 'px'
});
$object.calculateDimensions();
$('.rwd-container .rwd-thumb-item img').css({
opacity: 1 - +gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs_overlay_opacity / 100
});
$('.rwd-container .rwd-thumb-item.active img').css({
opacity: 1
});
var $id=jQuery('.gallery-video-content').attr('data-gallery_video_id'),
$autoplay=jQuery('.gallery-video-content').attr('data-gallery_autoplay'),
$disable_rel=jQuery('.gallery-video-content').attr('data-disable_related');
if($autoplay==='on'&&$disable_rel==='on'){
setTimeout(function (){
var $iframe=jQuery('.rwd-current').find('iframe'),
$src=$iframe.attr('src'),
$src_1;
if($src.indexOf('autoplay')===-1&&$src.indexOf('rel')===-1){
$src_1=$src + '?rel=0&autoplay=1';
}else{
$src_1=$src.substr(0, $src.length - 1) + '1';
}
$iframe.attr('src', $src_1);
}, 50);
}else if($autoplay==='off'&&$disable_rel==='on'){
setTimeout(function (){
var $iframe=jQuery('.rwd-current').find('iframe'),
$src=$iframe.attr('src'), $src_1;
if($src.indexOf('autoplay')===-1&&$src.indexOf('rel')===-1){
$src_1=$src + '?rel=0&autoplay=0';
}else{
$src_1=$src.substr(0, $src.length - 1) + '0';
}
$iframe.attr('src', $src_1);
}, 50);
}else if($autoplay==='on'&&$disable_rel==='off'){
setTimeout(function (){
var $iframe=jQuery('.rwd-current').find('iframe'),
$src=$iframe.attr('src'), $src_1;
if($src.indexOf('autoplay')===-1){
$src_1=$src + '?autoplay=1';
}else{
$src_1=$src.substr(0, $src.length - 1) + '1';
}
$iframe.attr('src', $src_1);
}, 50);
}};
Lightbox.prototype.goToNextSlide=function (fromSlide){
var $object=this,
$cont=$('.rwd-cont'),
$imageObject, k;
if(($object.index + 1) < $object.$item.length){
$object.index++;
$object.slide($object.index, fromSlide, false);
}else{
if($object.settings.loop){
$object.index=0;
$object.slide($object.index, fromSlide, false);
}}
if($object.settings.fullwidth&&$cont.hasClass('rwd-fullwidth-on')){
$imageObject=$cont.find('.rwd-image').eq($object.index);
k=$imageObject.width() / $imageObject.height();
if($imageObject.width() > $imageObject.height()&&k > 2){
$imageObject.css({
'min-width': '100%'
});
}else{
$imageObject.css({
'min-height': '100%'
});
}}
setTimeout(function (){
var $current,
$iframe,
$src,
$src_0,
$src_1,
$current_prev;
$current=jQuery('.rwd-current');
$iframe=$current.find('iframe');
$src=$iframe.attr('src');
$current_prev=$current.prev().find('iframe');
if($current_prev.attr('src')){
if($current_prev.attr('src').indexOf('?')===-1){
$src_1='?autoplay=0';
}else{
$src_1='&autoplay=0';
}
$src_0=$current_prev.attr('src') + $src_1;
$current_prev.attr('src', $src_0);
}else{
$current=jQuery('.rwd-container');
$current_prev=$current.find('iframe:last');
if($current_prev.attr('src').indexOf('?')===-1){
$src_1='?autoplay=0';
}else{
$src_1='&autoplay=0';
}
$src_0=$current_prev.attr('src') + $src_1;
$current_prev.attr('src', $src_0);
}}, 50);
};
Lightbox.prototype.goToPrevSlide=function (fromSlide){
var $object=this,
$cont=$('.rwd-cont'),
$imageObject, k;
if($object.index > 0){
$object.index--;
$object.slide($object.index, fromSlide, false);
}else{
if($object.settings.loop){
$object.index=$object.$items.length - 1;
$object.slide($object.index, fromSlide, false);
}}
if($object.settings.fullwidth&&$cont.hasClass('rwd-fullwidth-on')){
$imageObject=$cont.find('.rwd-image').eq($object.index);
k=$imageObject.width() / $imageObject.height();
if($imageObject.width() > $imageObject.height()&&k > 2){
$imageObject.css({
'min-width': '100%'
});
}else{
$imageObject.css({
'min-height': '100%'
});
}}
setTimeout(function (){
var $current,
$iframe,
$src,
$src_0,
$src_1,
$currents,
$current_next;
$current=jQuery('.rwd-current');
$iframe=$current.find('iframe');
$src=$iframe.attr('src');
$current_next=$current.next().find('iframe');
if($current_next.attr('src')){
if($current_next.attr('src').indexOf('?')===-1){
$src_1='?autoplay=0';
}else{
$src_1='&autoplay=0';
}
$src_0=$current_next.attr('src') + $src_1;
$current_next.attr('src', $src_0);
}else{
$current=jQuery('.rwd-container');
$current_next=$current.find('iframe:first');
if($current_next.attr('src').indexOf('?')===-1){
$src_1='?autoplay=0';
}else{
$src_1='&autoplay=0';
}
$src_0=$current_next.attr('src') + $src_1;
$current_next.attr('src', $src_0);
}}, 500);
};
Lightbox.prototype.slideShow=function (){
var $object=this, $toolbar, $play_bg, $pause_bg;
$play_bg='' +
' ' +
' ';
$pause_bg='' +
' ' +
' ';
$toolbar=$('.' + $object.settings.classPrefix + 'toolbar');
if($object.settings.slideshowAuto){
$object.slideshowAuto();
}
$object.$cont.find('.' + $object.settings.classPrefix + 'autoplay-button').on('click.rwd-container', function (){
!$($object.$cont).hasClass($object.settings.classPrefix + 'show-autoplay') ? $object.startSlide():$object.stopSlide();
});
};
Lightbox.prototype.slideshowAuto=function (){
var $object=this;
$object.$cont.addClass('' + $object.settings.classPrefix + 'show-autoplay');
$object.startSlide();
};
Lightbox.prototype.startSlide=function (){
var $object=this;
$object.interval=setInterval(function (){
$object.goToNextSlide();
}, $object.settings.slideshowSpeed);
};
Lightbox.prototype.stopSlide=function (){
clearInterval(this.interval);
};
Lightbox.prototype.addKeyEvents=function (){
var $object=this;
if(this.$items.length > 1){
$(window).on('keyup.rwd-container', function (e){
if($object.$items.length > 1){
if(e.keyCode===37){
e.preventDefault();
$object.goToPrevSlide();
}
if(e.keyCode===39){
e.preventDefault();
$object.goToNextSlide();
}}
});
}
$(window).on('keydown.rwd-container', function (e){
if($object.settings.escKey===true&&e.keyCode===27){
e.preventDefault();
if(!$object.$cont.hasClass($object.settings.classPrefix + 'thumb-open')){
$object.destroy();
}else{
$object.$cont.removeClass($object.settings.classPrefix + 'thumb-open');
}}
});
};
Lightbox.prototype.arrow=function (){
var $object=this;
this.$cont.find('.' + $object.settings.classPrefix + 'prev').on('click.rwd-container', function (){
$object.goToPrevSlide();
});
this.$cont.find('.' + $object.settings.classPrefix + 'next').on('click.rwd-container', function (){
$object.goToNextSlide();
});
};
Lightbox.prototype.arrowDisable=function (index){
if(!this.settings.loop&&this.settings.hideControlOnEnd){
if((index + 1) < this.$item.length){
this.$cont.find('.' + this.settings.classPrefix + 'next').removeAttr('disabled').removeClass('disabled');
}else{
this.$cont.find('.' + this.settings.classPrefix + 'next').attr('disabled', 'disabled').addClass('disabled');
}
if(index > 0){
this.$cont.find('.' + this.settings.classPrefix + 'prev').removeAttr('disabled').removeClass('disabled');
}else{
this.$cont.find('.' + this.settings.classPrefix + 'prev').attr('disabled', 'disabled').addClass('disabled');
}}
};
Lightbox.prototype.mousewheel=function (){
var $object=this, delta;
$object.$cont.on('mousewheel', function (e){
e=e||window.event;
delta=e.deltaY||e.detail||e.wheelDelta;
(delta > 0) ? $object.goToNextSlide():$object.goToPrevSlide();
e.preventDefault ? e.preventDefault():(e.returnValue=false);
});
};
Lightbox.prototype.closeGallery=function (){
var $object=this, mousedown=false;
this.$cont.find('.' + $object.settings.classPrefix + 'close').on('click.rwd-container', function (){
$object.destroy();
});
if($object.settings.overlayClose){
$object.$cont.on('mousedown.rwd-container', function (e){
mousedown=($(e.target).is('.' + $object.settings.classPrefix + 'cont')||$(e.target).is('.' + $object.settings.classPrefix + 'item ')||$(e.target).is('.' + $object.settings.classPrefix + 'img-wrap'));
});
$object.$cont.on('mouseup.rwd-container', function (e){
if($(e.target).is('.contInner')||$(e.target).is('.' + $object.settings.classPrefix + 'cont')||$(e.target).is('.' + $object.settings.classPrefix + 'item ')||$(e.target).is('.' + $object.settings.classPrefix + 'img-wrap')&&mousedown){
if(!$object.$cont.hasClass($object.settings.classPrefix + 'dragEvent')){
$object.destroy();
}}
});
}};
Lightbox.prototype.destroy=function (d){
var $object=this;
clearInterval($object.interval);
$object.$body.removeClass($object.settings.classPrefix + 'on');
$(window).scrollTop($object.prevScrollTop);
if(d){
$.removeData($object.el, 'lightbox');
}
($object.settings.socialSharing&&(window.location.hash=''));
this.$element.off('.rwd-container');
$(window).off('.rwd-container');
if($object.$cont){
$object.$cont.removeClass($object.settings.classPrefix + 'visible');
}
$object.objects.overlay.removeClass('in');
setTimeout(function (){
if($object.$cont){
$object.$cont.remove();
}
$object.objects.overlay.remove();
}, $object.settings.overlayDuration + 50);
window.scrollTo(0, $object.$_y_);
};
$.fn.lightboxVideo=function (options){
return this.each(function (){
if(!$.data(this, 'lightbox')){
$.data(this, 'lightbox', new Lightbox(this, options));
}});
};
$.fn.lightboxVideo.lightboxModul={};
var Modul=function (element){
this.dataL=$(element).data('lightbox');
this.$element=$(element);
this.dataL.modulSettings=$.extend({}, this.constructor.defaultsModul);
this.init();
if(this.dataL.modulSettings.zoom&&this.dataL.effectsSupport()){
this.initZoom();
this.zoomabletimeout=false;
this.pageX=$(window).width() / 2;
this.pageY=($(window).height() / 2) + $(window).scrollTop();
}
if(this.dataL.modulSettings.fullwidth&&this.dataL.effectsSupport()){
this.initFullWidth();
}
this.$el=$(element);
this.$thumbCont=null;
this.thumbContWidth=0;
this.thumbTotalWidth=(this.dataL.$items.length * (this.dataL.modulSettings.thumbsWidth + this.dataL.modulSettings.thumbMargin));
this.thumbIndex=this.dataL.index;
this.left=0;
if(gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs){
this.initThumbs();
}
return this;
};
Modul.defaultsModul={
idPrefix: 'rwd-',
classPrefix: 'rwd-',
attrPrefix: 'data-',
videoMaxWidth: gallery_video_resp_lightbox_obj.gallery_video_lightbox_videoMaxWidth,
fullwidth: gallery_video_resp_lightbox_obj.gallery_video_lightbox_fullwidth_effect,
zoom: gallery_video_resp_lightbox_obj.gallery_video_lightbox_zoom,
scale: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_zoomsize / 10,
thumbnail: gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs,
thumbsWidth: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs_width,
thumbsHeight: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs_height,
thumbMargin: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs_margin,
showByDefault: true,
toogleThumb: false,
thumbPosition: gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs_position,
thumbsOverlayColor: gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs_overlay_color,
thumbsOverlayOpacity: gallery_video_resp_lightbox_obj.gallery_video_lightbox_thumbs_overlay_opacity
};
Modul.prototype.init=function (){
var $object=this;
$object.dataL.$element.on('hasVideo.rwd-container', function (event, index, src){
$object.dataL.$item.eq(index).find('.' + $object.dataL.modulSettings.classPrefix + 'video').append($object.loadVideo(src, '' + $object.dataL.modulSettings.classPrefix + 'object', index));
});
$object.dataL.$element.on('onAferAppendSlide.rwd-container', function (event, index){
$object.dataL.$item.eq(index).find('.' + $object.dataL.settings.classPrefix + 'video-cont').css({
'max-width': $object.dataL.modulSettings.videoMaxWidth + 'px'
});
});
$object.dataL.$element.on('onBeforeSlide.rwd-container', function (event, prevIndex, index){
var $videoSlide=$object.dataL.$item.eq(prevIndex),
youtubePlayer=$videoSlide.find('.rwd-youtube').get(0),
vimeoPlayer=$videoSlide.find('.rwd-vimeo').get(0);
if(youtubePlayer){
youtubePlayer.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
}else if(vimeoPlayer){
try {
$f(vimeoPlayer).api('pause');
} catch (e){
console.error('Make sure you have included froogaloop2 js');
}}
var src;
src=$object.dataL.$items.eq(index).attr('href');
var isVideo=$object.dataL.isVideo(src, index)||{};
if(isVideo.youtube||isVideo.vimeo){
$object.dataL.$cont.addClass($object.dataL.modulSettings.classPrefix + 'hide-actual-size');
$object.dataL.$cont.addClass($object.dataL.modulSettings.classPrefix + 'hide-fullwidth');
$object.dataL.$cont.addClass($object.dataL.modulSettings.classPrefix + 'hide-zoom-in');
$object.dataL.$cont.addClass($object.dataL.modulSettings.classPrefix + 'hide-zoom-out');
}});
$object.dataL.$element.on('onAfterSlide.rwd-container', function (event, prevIndex){
$object.dataL.$item.eq(prevIndex).removeClass($object.dataL.modulSettings.classPrefix + 'video-playing');
});
};
Modul.prototype.loadVideo=function (src, addClass, index){
var video='',
isVideo=this.dataL.isVideo(src, index)||{};
if(isVideo.youtube){
video='';
}else if(isVideo.vimeo){
video='';
}
return video;
};
Modul.prototype.initFullWidth=function (){
var $object=this,
$fullWidth, $fullWidthOn;
$fullWidth='' +
' ' +
' ';
$fullWidthOn='' +
' ' +
' ';
if(this.dataL.modulSettings.fullwidth){
var fullwidth='' + $fullWidth + $fullWidthOn + ' ';
switch (gallery_video_resp_lightbox_obj.gallery_video_lightbox_lightboxView){
case 'view1':
default:
this.dataL.$cont.find('.rwd-toolbar').append(fullwidth);
break;
case 'view2':
this.dataL.$cont.find('.rwd-bar').append(fullwidth);
break;
case 'view4':
$(fullwidth).insertBefore('.rwd-title');
break;
}}
if(this.dataL.modulSettings.fullwidth){
$('.rwd-fullwidth').on('click.rwd-container', function (){
!$('.rwd-cont').hasClass('rwd-fullwidth-on') ? $object.onFullWidth():$object.offFullWidth();
});
}};
Modul.prototype.onFullWidth=function (){
var $imageObject=this.dataL.$cont.find('.rwd-current .rwd-image');
$('#rwd-fullwidth').css({'display': 'none'});
$('#rwd-fullwidth_on').css({'display': 'inline-block'});
$('.rwd-cont').addClass('rwd-fullwidth-on');
$('.rwd-container').css({
width: '100%',
height: '100%'
});
var k=$imageObject.width() / $imageObject.height();
if($imageObject.width() > $imageObject.height()&&k > 2){
$imageObject.css({
'min-width': '100%'
});
}else{
$imageObject.css({
'min-height': '100%'
});
}
if(gallery_video_resp_lightbox_obj.gallery_video_lightbox_zoom){
$('.rwd-zoomDiv').css({
top: '45px',
width: '100%'
});
}};
Modul.prototype.offFullWidth=function (){
var $imageObject=this.dataL.$cont.find('.rwd-current .rwd-image');
$('#rwd-fullwidth').css({'display': 'inline-block'});
$('#rwd-fullwidth_on').css({'display': 'none'});
$('.rwd-cont').removeClass('rwd-fullwidth-on');
$('.rwd-container').css({
width: gallery_video_resp_lightbox_obj.gallery_video_lightbox_width_new + '%',
height: gallery_video_resp_lightbox_obj.gallery_video_lightbox_height_new + '%'
});
$imageObject.css({
'min-width': '',
'min-height': ''
});
if(gallery_video_resp_lightbox_obj.gallery_video_lightbox_zoom){
$('.rwd-zoomDiv').css({
top: ((document.documentElement.clientHeight - $('.rwd-container').height()) / 2) + 'px',
width: this.dataL.settings.width
});
}};
Modul.prototype.initZoom=function (){
var $object=this, zoomIcons,
$zoomIn, $zoomOut, scale;
$zoomIn='' +
' ' +
' ' +
' ';
$zoomOut='' +
' ' +
' ' +
' ';
zoomIcons='' + $zoomOut + ' ' + $zoomIn + ' ';
switch (gallery_video_resp_lightbox_obj.gallery_video_lightbox_lightboxView){
case 'view1':
default:
this.dataL.$cont.find('.rwd-toolbar').append(zoomIcons);
break;
case 'view2':
this.dataL.$cont.find('.rwd-bar').append(zoomIcons);
break;
case 'view4':
$(zoomIcons).insertBefore('.rwd-title');
break;
}
scale=1;
function zoom(scaleVal){
var $imageObject, _x, _y, offsetX, offsetY, x, y;
$imageObject=$object.dataL.$cont.find('.rwd-current .rwd-image');
offsetX=($(window).width() - $imageObject.width()) / 2;
offsetY=(($(window).height() - $imageObject.height()) / 2) + $(window).scrollTop();
_x=$object.pageX - offsetX;
_y=$object.pageY - offsetY;
x=_x;
y=_y;
$imageObject.css('transform', 'scale3d(' + scaleVal + ', ' + scaleVal + ', 1)').attr('data-scale', scaleVal);
$imageObject.parent().css({
transform: 'translate3d(0, ' + -y + 'px, 0)'
}).attr('data-y', -y);
}
function callScale(){
if(scale > 1){
$object.dataL.$cont.addClass('rwd-zoomed');
}else{
$object.dataL.$cont.removeClass('rwd-zoomed');
}
if(scale < 1){
scale=1;
}
zoom(scale);
}
$(window).on('resize.rwd-container.zoom scroll.rwd-container.zoom orientationchange.rwd-container.zoom', function (){
$object.pageX=$(window).width() / 2;
$object.pageY=($(window).height() / 2) + $(window).scrollTop();
zoom(scale);
});
$('#rwd-zoom-out').on('click.rwd-container', function (){
if($object.dataL.$cont.find('.rwd-current .rwd-image').length){
scale -=$object.dataL.modulSettings.scale;
callScale();
}});
$('#rwd-zoom-in').on('click.rwd-container', function (){
if($object.dataL.$cont.find('.rwd-current .rwd-image').length){
scale +=$object.dataL.modulSettings.scale;
callScale();
}});
if(gallery_video_resp_lightbox_obj.gallery_video_lightbox_zoomlogo!=='0'){
$object.dataL.$cont.dblclick(function (){
if(!$object.dataL.$cont.hasClass('dbl-zoomed')){
$object.dataL.$cont.addClass('dbl-zoomed');
if($object.dataL.$cont.find('.rwd-current .rwd-image').length){
scale +=$object.dataL.modulSettings.scale;
callScale();
}}else{
$object.dataL.$cont.removeClass('dbl-zoomed');
if($object.dataL.$cont.find('.rwd-current .rwd-image').length){
scale -=$object.dataL.modulSettings.scale;
callScale();
}}
});
}
if(!('ontouchstart' in document.documentElement)){
$object.zoomDrag();
}
if(('ontouchstart' in document.documentElement)){
$object.zoomSwipe();
}};
Modul.prototype.touchendZoom=function (startCoords, endCoords, abscissa, ordinate){
var $object=this, _$el, $imageObject, distanceX, distanceY, maxX, maxY;
_$el=$object.dataL.$item.eq($object.dataL.index).find('.rwd-img-wrap');
$imageObject=$object.dataL.$item.eq($object.dataL.index).find('.rwd-object');
maxX=Math.abs($imageObject.outerWidth() * Math.abs($imageObject.attr('data-scale')) - $object.dataL.$cont.find('.rwd-container').width()) / 2;
maxY=Math.abs($imageObject.outerHeight() * Math.abs($imageObject.attr('data-scale')) - $object.dataL.$cont.find('.rwd-container').height()) / 2 + $(window).scrollTop();
if(_$el.attr('data-x')){
distanceX=+_$el.attr('data-x') + (endCoords.x - startCoords.x);
}else{
distanceX=endCoords.x - startCoords.x;
}
distanceY=+_$el.attr('data-y') + (endCoords.y - startCoords.y);
if((Math.abs(endCoords.x - startCoords.x) > 15)||(Math.abs(endCoords.y - startCoords.y) > 15)){
if(abscissa){
if(endCoords.x - startCoords.x < 0){
if(distanceX <=-maxX){
distanceX=-maxX;
}}else{
if(distanceX >=maxX){
distanceX=maxX;
}}
_$el.attr('data-x', distanceX);
}
if(ordinate){
if(endCoords.y - startCoords.y < 0){
if(distanceY <=-(maxY + ($object.pageY - ($(window).height() - $imageObject.height()) / 2)) + 2 * $(window).scrollTop()){
distanceY=-(maxY + ($object.pageY - ($(window).height() - $imageObject.height()) / 2)) + 2 * $(window).scrollTop();
}}else{
if(distanceY >=maxY - ($object.pageY - ($(window).height() - $imageObject.height()) / 2)){
distanceY=maxY - ($object.pageY - ($(window).height() - $imageObject.height()) / 2);
}}
_$el.attr('data-y', distanceY);
}
_$el.css({
transform: 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'
});
}};
Modul.prototype.zoomDrag=function (){
var $object=this;
var startCoords={};
var endCoords={};
var isDraging=false;
var isMoved=false;
var abscissa=false;
var ordinate=false;
$object.dataL.$item.on('mousedown.rwd-container.zoom', function (e){
var $imageObject=$object.dataL.$item.eq($object.dataL.index).find('.rwd-object');
ordinate=$imageObject.outerHeight() * $imageObject.attr('data-scale') > $object.dataL.$cont.find('.rwd-container').height();
abscissa=$imageObject.outerWidth() * $imageObject.attr('data-scale') > $object.dataL.$cont.find('.rwd-container').width();
if($object.dataL.$cont.hasClass('rwd-zoomed')){
if($(e.target).hasClass('rwd-object')&&(abscissa||ordinate)){
e.preventDefault();
startCoords={
x: e.pageX,
y: e.pageY
};
isDraging=true;
$object.dataL.$cont.scrollLeft +=1;
$object.dataL.$cont.scrollLeft -=1;
}}
});
$(window).on('mousemove.rwd-container.zoom', function (e){
if(isDraging){
var _$el=$object.dataL.$item.eq($object.dataL.index).find('.rwd-img-wrap');
var distanceX;
var distanceY;
isMoved=true;
endCoords={
x: e.pageX,
y: e.pageY
};
if(_$el.attr('data-x')){
distanceX=+_$el.attr('data-x') + (endCoords.x - startCoords.x);
}else{
distanceX=endCoords.x - startCoords.x;
}
if(ordinate){
distanceY=+_$el.attr('data-y') + (endCoords.y - startCoords.y);
}
_$el.css({
transform: 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'
});
}});
$(window).on('mouseup.rwd-container.zoom', function (e){
if(isDraging){
isDraging=false;
if(isMoved&&((startCoords.x!==endCoords.x)||(startCoords.y!==endCoords.y))){
endCoords={
x: e.pageX,
y: e.pageY
};
$object.touchendZoom(startCoords, endCoords, abscissa, ordinate);
}
isMoved=false;
}});
};
Modul.prototype.zoomSwipe=function (){
var $object=this;
var startCoords={};
var endCoords={};
var isMoved=false;
var abscissa=false;
var ordinate=false;
$object.dataL.$item.on('touchstart.rwd-container', function (e){
if($object.dataL.$cont.hasClass('rwd-zoomed')){
var $imageObject=$object.dataL.$item.eq($object.dataL.index).find('.rwd-object');
ordinate=$imageObject.outerHeight() * $imageObject.attr('data-scale') > $object.dataL.$cont.find('.rwd-container').height();
abscissa=$imageObject.outerWidth() * $imageObject.attr('data-scale') > $object.dataL.$cont.find('.rwd-container').width();
if((abscissa||ordinate)){
e.preventDefault();
startCoords={
x: e.originalEvent.targetTouches[0].pageX,
y: e.originalEvent.targetTouches[0].pageY
};}}
});
$object.dataL.$item.on('touchmove.rwd-container', function (e){
if($object.dataL.$cont.hasClass('rwd-zoomed')){
var _$el=$object.dataL.$item.eq($object.dataL.index).find('.rwd-img-wrap');
var distanceX;
var distanceY;
e.preventDefault();
isMoved=true;
endCoords={
x: e.originalEvent.targetTouches[0].pageX,
y: e.originalEvent.targetTouches[0].pageY
};
if(_$el.attr('data-x')){
distanceX=+_$el.attr('data-x') + (endCoords.x - startCoords.x);
}else{
distanceX=endCoords.x - startCoords.x;
}
if(ordinate){
distanceY=+_$el.attr('data-y') + (endCoords.y - startCoords.y);
}
if((Math.abs(endCoords.x - startCoords.x) > 15)||(Math.abs(endCoords.y - startCoords.y) > 15)){
_$el.css({
transform: 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'
});
}}
});
$object.dataL.$item.on('touchend.rwd-container', function (){
if($object.dataL.$cont.hasClass('rwd-zoomed')){
if(isMoved){
isMoved=false;
$object.touchendZoom(startCoords, endCoords, abscissa, ordinate);
}}
});
};
Modul.prototype.initThumbs=function (){
var $object=this;
if(this.dataL.modulSettings.thumbnail&&this.dataL.$items.length > 1){
if(this.dataL.modulSettings.showByDefault){
setTimeout(function (){
$object.dataL.$cont.addClass('rwd-thumb-open');
}, 100);
}
this.buildThumbs();
this.dataL.effectsSupport()&&this.enableThumbDrag();
this.activatedThumbs=false;
if($object.dataL.modulSettings.toogleThumb){
$object.$thumbCont.append(' ');
$object.dataL.$cont.find('.rwd-toggle-thumb').on('click.rwd-container', function (){
$object.dataL.$cont.toggleClass('rwd-thumb-open');
});
}}
$('.rwd-container .rwd-thumb-item').css({
background: '#' + this.dataL.modulSettings.thumbsOverlayColor
});
$('.rwd-container .rwd-thumb-item img').css({
opacity: 1 - +this.dataL.modulSettings.thumbsOverlayOpacity / 100
});
$('.rwd-thumb-cont').css({
bottom: -$object.dataL.modulSettings.thumbsHeight + 'px'
});
if(this.dataL.modulSettings.showByDefault){
var $cont_=$('.cont-inner'),
$thumb_=$('.rwd-thumb-cont'),
$toolbar_=$('.rwd-toolbar');
setTimeout(function (){
switch ($object.dataL.settings.lightboxView){
case 'view1':
switch ($object.dataL.modulSettings.thumbPosition){
case '0':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 92) + 'px)',
top: '47px'
});
$thumb_.css({
bottom: '0',
backgroundColor: 'rgba(0,0,0,.9)'
});
$('.rwd-bar > *').css({
bottom: $object.dataL.modulSettings.thumbsHeight + 'px'
});
break;
case '1':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 92) + 'px)',
top: $object.dataL.modulSettings.thumbsHeight + 47 + 'px'
});
$thumb_.css({
top: '47px',
backgroundColor: 'rgba(0,0,0,.9)'
});
break;
}
break;
case 'view2':
switch ($object.dataL.modulSettings.thumbPosition){
case '0':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 92) + 'px)',
top: '45px'
});
$thumb_.css({
bottom: '45px',
backgroundColor: 'rgba(0,0,0,.9)'
});
break;
case '1':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 92) + 'px)',
top: $object.dataL.modulSettings.thumbsHeight + 45 + 'px'
});
$thumb_.css({
top: '0',
backgroundColor: 'rgba(0,0,0,.9)'
});
$toolbar_.css({
top: $object.dataL.modulSettings.thumbsHeight + 'px'
});
break;
}
break;
case 'view3':
switch ($object.dataL.modulSettings.thumbPosition){
case '0':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 92) + 'px)',
top: '47px'
});
$thumb_.css({
bottom: '0',
backgroundColor: 'white'
});
$('.rwd-title').css({
bottom: $object.dataL.modulSettings.thumbsHeight + 'px'
});
break;
case '1':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 93) + 'px)',
top: ($object.dataL.modulSettings.thumbsHeight + 48) + 'px'
});
$thumb_.css({
top: '48px',
backgroundColor: 'white'
});
break;
}
break;
case 'view4':
switch ($object.dataL.modulSettings.thumbPosition){
case '0':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 92) + 'px)'
});
$thumb_.css({
bottom: '0',
backgroundColor: 'none'
});
$('.rwd-socialIcons').css({
bottom: ($object.dataL.modulSettings.thumbsHeight - 10) + 'px'
});
$('.barCont').css({
bottom: $object.dataL.modulSettings.thumbsHeight + 'px'
});
$('#rwd-counter').css({
bottom: ($object.dataL.modulSettings.thumbsHeight + 5) + 'px'
});
$('.rwd-item').css({
top: '47px'
});
break;
case '1':
$cont_.css({
height: 'calc(100% - ' + ($object.dataL.modulSettings.thumbsHeight + 90) + 'px)',
top: $object.dataL.modulSettings.thumbsHeight + 45 + 'px'
});
$thumb_.css({
top: '45px',
backgroundColor: 'none'
});
break;
}
break;
case 'view5':
switch ($object.dataL.modulSettings.thumbPosition){
case '0':
$cont_.css({
height: 'calc(100% - ' + $object.dataL.modulSettings.thumbsHeight + 'px)'
});
$thumb_.css({
bottom: '0'
});
break;
case '1':
$cont_.css({
height: 'calc(100% - ' + $object.dataL.modulSettings.thumbsHeight + 'px)',
top: $object.dataL.modulSettings.thumbsHeight + 'px'
});
$thumb_.css({
top: '0'
});
break;
}
break;
}}, 100);
}};
Modul.prototype.buildThumbs=function (){
var $object=this;
var thumbList='';
var vimeoErrorThumbSize='';
var $thumb;
var html='';
vimeoErrorThumbSize='100x75';
$object.dataL.$cont.addClass('rwd-has-thumb');
$object.dataL.$cont.find('.rwd-container').append(html);
$object.$thumbCont=$object.dataL.$cont.find('.rwd-thumb-cont');
$object.thumbContWidth=$object.$thumbCont.width();
$object.dataL.$cont.find('.rwd-thumb').css({
width: $object.thumbTotalWidth + 'px',
position: 'relative'
});
$object.$thumbCont.css('height', $object.dataL.modulSettings.thumbsHeight + 'px');
function getThumb(src, thumb, index){
var isVideo=$object.dataL.isVideo(src, index)||{};
var thumbImg;
var vimeoId='';
if(isVideo.youtube||isVideo.vimeo||isVideo.dailymotion){
if(isVideo.youtube){
thumbImg='//img.youtube.com/vi/' + isVideo.youtube[1] + '/1.jpg';
}else if(isVideo.vimeo){
thumbImg='//i.vimeocdn.com/video/error_' + vimeoErrorThumbSize + '.jpg';
vimeoId=isVideo.vimeo[1];
}}else{
thumbImg=thumb;
}
thumbList +='';
vimeoId='';
}
$object.dataL.$items.each(function (i){
getThumb($(this).attr('href')||$(this).attr('data-src'), $(this).find('img').attr('src'), i);
});
$object.dataL.$cont.find('.rwd-thumb').html(thumbList);
$thumb=$object.dataL.$cont.find('.rwd-thumb-item');
$thumb.each(function (){
var $this=$(this);
var vimeoVideoId=$this.attr('data-vimeo-id');
if(vimeoVideoId){
$.getJSON('//www.vimeo.com/api/v2/video/' + vimeoVideoId + '.json?callback=?', {
format: 'json'
}, function (data){
$this.find('img').attr('src', data[0]['thumbnail_small']);
});
}});
$thumb.eq($object.dataL.index).addClass('active');
$object.dataL.$element.on('onBeforeSlide.rwd-container', function (){
$thumb.removeClass('active');
$thumb.eq($object.dataL.index).addClass('active');
});
$thumb.on('click.rwd-container touchend.rwd-container', function (){
var _$this=$(this);
setTimeout(function (){
if($object.activatedThumbs||!$object.dataL.effectsSupport()){
$object.dataL.index=_$this.index();
$object.dataL.slide($object.dataL.index, false, true);
$('.rwd-thumb').removeClass('thumb_move');
}}, 50);
});
$object.dataL.$element.on('onBeforeSlide.rwd-container', function (){
$object.animateThumb($object.dataL.index);
});
$(window).on('resize.rwd-container.thumb orientationchange.rwd-container.thumb', function (){
setTimeout(function (){
$object.animateThumb($object.dataL.index);
$object.thumbContWidth=$object.$thumbCont.width();
}, 200);
});
};
Modul.prototype.animateThumb=function (index){
var $thumb=this.dataL.$cont.find('.rwd-thumb'),
position=(this.thumbContWidth / 2) - (this.dataL.modulSettings.thumbsWidth / 2);
this.left=((this.dataL.modulSettings.thumbsWidth + this.dataL.modulSettings.thumbMargin) * index - 1) - position;
if(this.left > (this.thumbTotalWidth - this.thumbContWidth)){
this.left=this.thumbTotalWidth - this.thumbContWidth;
}
if(this.left < 0){
this.left=0;
}
if(this.dataL.rwdalleryOn){
if(!$thumb.hasClass('on')){
this.dataL.$cont.find('.rwd-thumb').css('transition-duration', this.dataL.modulSettings.speed + 'ms');
}
if(!this.dataL.effectsSupport()){
$thumb.animate({
left: -this.left + 'px'
}, this.dataL.modulSettings.speed);
}}else{
if(!this.dataL.effectsSupport()){
$thumb.css('left', -this.left + 'px');
}}
if(!$('.rwd-thumb').hasClass('thumb_move')){
this.dataL.$cont.find('.rwd-thumb').css({
transform: 'translate3d(-' + (this.left) + 'px, 0px, 0px)'
});
}};
Modul.prototype.enableThumbDrag=function (){
var $object=this,
startCoords=0,
endCoords=0,
isDraging=false,
isMoved=false,
tempLeft=0,
$left_=((this.dataL.modulSettings.thumbsWidth + this.dataL.modulSettings.thumbMargin) * $object.dataL.index - 1) - (this.thumbContWidth / 2) - (this.dataL.modulSettings.thumbsWidth / 2);
$('.rwd-thumb').attr('data-left', $left_);
$object.dataL.$cont.find('.rwd-thumb').on('mousedown.rwd-container.thumb', function (e){
if($object.thumbTotalWidth > $object.thumbContWidth){
e.preventDefault();
startCoords=e.pageX;
isDraging=true;
$object.dataL.$cont.scrollLeft +=1;
$object.dataL.$cont.scrollLeft -=1;
$object.activatedThumbs=false;
}});
$(window).on('mousemove.rwd-container.thumb', function (e){
if(isDraging){
tempLeft=+$('.rwd-thumb').attr('data-left');
isMoved=true;
endCoords=e.pageX;
if(Math.abs(endCoords - startCoords) > 0&&$('.rwd-cont').hasClass('rwd-show-autoplay')){
$('.rwd-thumb').addClass('thumb_move');
}
tempLeft=tempLeft - (endCoords - startCoords);
if(tempLeft > ($object.thumbTotalWidth - $object.thumbContWidth)){
tempLeft=$object.thumbTotalWidth - $object.thumbContWidth;
}
if(tempLeft < 0){
tempLeft=0;
}
$object.dataL.$cont.find('.rwd-thumb').css({
transform: 'translate3d(-' + (tempLeft) + 'px, 0px, 0px)'
});
}});
$(window).on('mouseup.rwd-container.thumb', function (){
if(isMoved){
isMoved=false;
$('.rwd-thumb').attr('data-left', tempLeft);
}else{
$object.activatedThumbs=true;
}
if(isDraging){
isDraging=false;
}});
};
Modul.prototype.destroy=function (){
var $object=this;
$object.dataL.$element.off('.rwd-container.zoom');
$(window).off('.rwd-container.zoom');
$object.dataL.$item.off('.rwd-container.zoom');
$object.dataL.$element.off('.rwd-container.zoom');
$object.dataL.$cont.removeClass('rwd-zoomed');
clearTimeout($object.zoomabletimeout);
$object.zoomabletimeout=false;
if(this.dataL.modulSettings.thumbnail&&this.dataL.$items.length > 1){
$(window).off('resize.rwd-container.thumb orientationchange.rwd-container.thumb keydown.rwd-container.thumb');
this.$thumbCont.remove();
this.dataL.$cont.removeClass('rwd-has-thumb');
$('.cont-inner').css({
height: '100%'
});
}};
$.fn.lightboxVideo.lightboxModul.modul=Modul;
var WaterMark=function (element){
this.element=element;
this.settings=$.extend({}, this.constructor.defaults);
this.init();
};
WaterMark.defaults={
imgSrc: gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_img_src_new,
text: gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_text,
textColor: '#' + gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_textColor,
textFontSize: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_textFontSize,
containerBackground: gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_container_bg_color,
containerWidth: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_containerWidth,
position: 'pos' + gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_position_new,
opacity: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_opacity / 100,
margin: +gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_margin,
done: function (imgURL){
this.dataset.src=imgURL;
}};
WaterMark.prototype.init=function (){
var $object=this,
$elem=$object.element,
$settings=$object.settings,
wmData={},
imageData={};
var WatermarkImage=jQuery(' ');
WatermarkImage.attr('src', $object.settings.imgSrc);
WatermarkImage.css('display', 'none').attr('id', 'huge_it_watermark_img_sample');
if(!jQuery('body').find('#huge_it_watermark_img_sample').length){
jQuery('body').append(WatermarkImage);
}
wmData={
imgurl: $settings.imgSrc,
type: 'jpeg'
};
imageData={
imgurl: $elem.dataset.imgsrc
};
var defer=$.Deferred();
$.when(defer).done(function (imgObj){
imageData.$wmObject=imgObj;
$object.imgurltodata(imageData, function (dataURL){
$settings.done.call($elem, dataURL);
});
});
if($settings.text!==''){
wmData.imgurl=$object.textwatermark();
}
$object.imgurltodata(wmData, function (imgObj){
defer.resolve(imgObj);
});
};
WaterMark.prototype.textwatermark=function (){
var $object=this,
$settings,
canvas,
context,
$width,
$height;
$settings=$object.settings;
canvas=document.createElement('canvas');
context=canvas.getContext('2d');
$width=$settings.containerWidth;
$height=$settings.textFontSize;
canvas.width=$width;
canvas.height=$height;
context.fillStyle=$settings.containerBackground;
context.fillRect(0, 0, $width, $height);
context.fillStyle=$settings.textColor;
context.textAlign='center';
context.font='500 ' + $settings.textFontSize + 'px Sans-serif';
context.fillText($settings.text, ($width / 2), ($height - 5));
return canvas.toDataURL();
};
WaterMark.prototype.imgurltodata=function (data, callback){
var $object=this,
$settings=$object.settings,
img;
img=new Image();
img.setAttribute('crossOrigin', 'anonymous');
img.onload=function (){
var canvas=document.createElement('canvas'),
context=canvas.getContext('2d'),
$imgWidth=this.width,
$imgHeight=this.height;
if(data.$wmObject){
if(data.width!=='auto'&&data.height==='auto'&&data.width < $imgWidth){
$imgHeight=$imgHeight / $imgWidth * data.width;
$imgWidth=data.width;
}else if(data.width==='auto'&&data.height!=='auto'&&data.height < $imgHeight){
$imgWidth=$imgWidth / $imgHeight * data.height;
$imgHeight=data.height;
}else if(data.width!=='auto'&&data.height!=='auto'&&data.width < $imgWidth&&data.height < $imgHeight){
$imgWidth=data.width;
$imgHeight=data.height;
}}
canvas.width=$imgWidth;
canvas.height=$imgHeight;
context.drawImage(this, 0, 0, $imgWidth, $imgHeight);
if(data.$wmObject){
var $opacity=+gallery_video_resp_lightbox_obj.gallery_video_lightbox_watermark_containerOpacity / 100;
if($opacity >=0&&$opacity <=1){
context.globalAlpha=$opacity;
}
var $wmWidth,
$wmHeight,
pos=$settings.margin,
$x, $y;
if($settings.text!==''){
$wmWidth=data.$wmObject.width;
$wmHeight=data.$wmObject.height;
}else{
$wmWidth=$settings.containerWidth;
$wmHeight=(jQuery('img#huge_it_watermark_img_sample').prop('naturalHeight') * $wmWidth) / jQuery('img#huge_it_watermark_img_sample').prop('naturalWidth');
}
switch ($settings.position){
case 'pos1':
$x=pos;
$y=pos;
break;
case 'pos2':
$x=$imgWidth / 2 - $wmWidth / 2;
$y=pos;
break;
case 'pos3':
$x=$imgWidth - $wmWidth - pos;
$y=pos;
break;
case 'pos4':
$x=pos;
$y=$imgHeight / 2 - $wmHeight / 2;
break;
case 'pos5':
$x=$imgWidth / 2 - $wmWidth / 2;
$y=$imgHeight / 2 - $wmHeight / 2;
break;
case 'pos6':
$x=$imgWidth - $wmWidth - pos;
$y=$imgHeight / 2 - $wmHeight / 2;
break;
case 'pos7':
$x=pos;
$y=$imgHeight - $wmHeight - pos;
break;
case 'pos8':
$x=$imgWidth / 2 - $wmWidth / 2;
$y=$imgHeight - $wmHeight - pos;
break;
case 'pos9':
$x=$imgWidth - $wmWidth - pos;
$y=$imgHeight - $wmHeight - pos;
break;
default:
$x=$imgWidth - $wmWidth - pos;
$y=$imgHeight - $wmHeight - pos;
}
context.drawImage(data.$wmObject, $x, $y, $wmWidth, $wmHeight);
}
var dataURL=canvas.toDataURL('image/' + data.type);
if(typeof callback==='function'){
if(data.$wmObject){
callback(dataURL);
}else{
var $wmNew=new Image();
$wmNew.src=dataURL;
callback($wmNew);
}}
canvas=null;
};
img.src=data.imgurl;
};
$.fn['watermark']=function (){
return this.each(function (){
if(!$.data(this, 'watermark')){
$.data(this, 'watermark', new WaterMark(this));
}});
};})(jQuery);